{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "af1dc7ff-56b2-4444-b272-766a556f3d9f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--2025-07-12 16:42:35--  http://mirror.coggle.club/yolo/Arial.ttf\n",
      "正在解析主机 mirror.coggle.club (mirror.coggle.club)... 222.134.1.30, 222.134.1.28, 222.134.1.29\n",
      "正在连接 mirror.coggle.club (mirror.coggle.club)|222.134.1.30|:80... 已连接。\n",
      "已发出 HTTP 请求，正在等待回应... 200 OK\n",
      "长度： 773236 (755K) [font/ttf]\n",
      "正在保存至: ‘/home/lyz/.config/Ultralytics/Arial.ttf’\n",
      "\n",
      "/home/lyz/.config/U 100%[===================>] 755.11K  3.95MB/s    用时 0.2s    \n",
      "\n",
      "2025-07-12 16:42:35 (3.95 MB/s) - 已保存 ‘/home/lyz/.config/Ultralytics/Arial.ttf’ [773236/773236])\n",
      "\n",
      "--2025-07-12 16:42:36--  http://mirror.coggle.club/yolo/Arial.Unicode.ttf\n",
      "正在解析主机 mirror.coggle.club (mirror.coggle.club)... 222.134.1.28, 222.134.1.29, 222.134.1.30\n",
      "正在连接 mirror.coggle.club (mirror.coggle.club)|222.134.1.28|:80... 已连接。\n",
      "已发出 HTTP 请求，正在等待回应... 200 OK\n",
      "长度： 23278008 (22M) [application/x-font-ttf]\n",
      "正在保存至: ‘/home/lyz/.config/Ultralytics/Arial.Unicode.ttf’\n",
      "\n",
      "/home/lyz/.config/U 100%[===================>]  22.20M  8.12MB/s    用时 2.7s    \n",
      "\n",
      "2025-07-12 16:42:39 (8.12 MB/s) - 已保存 ‘/home/lyz/.config/Ultralytics/Arial.Unicode.ttf’ [23278008/23278008])\n",
      "\n",
      "--2025-07-12 16:42:39--  http://mirror.coggle.club/yolo/yolov8n-v8.2.0.pt\n",
      "正在解析主机 mirror.coggle.club (mirror.coggle.club)... 222.134.1.29, 222.134.1.30, 222.134.1.28\n",
      "正在连接 mirror.coggle.club (mirror.coggle.club)|222.134.1.29|:80... 已连接。\n",
      "已发出 HTTP 请求，正在等待回应... 200 OK\n",
      "长度： 6549796 (6.2M) [application/vnd.snesdev-page-table]\n",
      "正在保存至: ‘yolov8n.pt’\n",
      "\n",
      "yolov8n.pt          100%[===================>]   6.25M  7.23MB/s    用时 0.9s    \n",
      "\n",
      "2025-07-12 16:42:40 (7.23 MB/s) - 已保存 ‘yolov8n.pt’ [6549796/6549796])\n",
      "\n",
      "--2025-07-12 16:42:40--  http://mirror.coggle.club/yolo/yolov8m-v8.2.0.pt\n",
      "正在解析主机 mirror.coggle.club (mirror.coggle.club)... 222.134.1.28, 222.134.1.29, 222.134.1.30\n",
      "正在连接 mirror.coggle.club (mirror.coggle.club)|222.134.1.28|:80... 已连接。\n",
      "已发出 HTTP 请求，正在等待回应... 200 OK\n",
      "长度： 52136884 (50M) [application/vnd.snesdev-page-table]\n",
      "正在保存至: ‘yolov8m.pt’\n",
      "\n",
      "yolov8m.pt          100%[===================>]  49.72M  8.89MB/s    用时 5.7s    \n",
      "\n",
      "2025-07-12 16:42:47 (8.78 MB/s) - 已保存 ‘yolov8m.pt’ [52136884/52136884])\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!mkdir -p ~/.config/Ultralytics/\n",
    "!wget http://mirror.coggle.club/yolo/Arial.ttf -O ~/.config/Ultralytics/Arial.ttf\n",
    "!wget http://mirror.coggle.club/yolo/Arial.Unicode.ttf -O ~/.config/Ultralytics/Arial.Unicode.ttf\n",
    "!wget http://mirror.coggle.club/yolo/yolov8n-v8.2.0.pt -O yolov8n.pt\n",
    "# !wget http://mirror.coggle.club/yolo/yolov8s-v8.2.0.pt -O yolov8s.pt\n",
    "!wget http://mirror.coggle.club/yolo/yolov8m-v8.2.0.pt -O yolov8m.pt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "da8705d1-fb5d-446a-9087-bfcd69faaf1b",
   "metadata": {},
   "outputs": [],
   "source": [
    "!\\rm -rf train_yolo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "08447a35-d459-43de-ab64-6135ff19ed89",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Conversion complete. YOLO format labels saved to train_yolo/train/labels\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import glob\n",
    "import shutil\n",
    "\n",
    "import os\n",
    "import xml.etree.ElementTree as ET\n",
    "from glob import glob\n",
    "\n",
    "def convert_voc_to_yolo(xml_path, output_dir, class_names):\n",
    "    \"\"\"\n",
    "    Convert Pascal VOC XML annotation to YOLO format\n",
    "    \n",
    "    Args:\n",
    "        xml_path (str): Path to XML file\n",
    "        output_dir (str): Directory to save YOLO txt files\n",
    "        class_names (list): List of class names in order\n",
    "    \"\"\"\n",
    "    # Parse XML\n",
    "    tree = ET.parse(xml_path)\n",
    "    root = tree.getroot()\n",
    "    \n",
    "    # Get image dimensions\n",
    "    size = root.find('size')\n",
    "    img_width = int(size.find('width').text)\n",
    "    img_height = int(size.find('height').text)\n",
    "    \n",
    "    # Create output file path\n",
    "    image_name = os.path.splitext(os.path.basename(xml_path))[0]\n",
    "    txt_path = os.path.join(output_dir, f\"{image_name}.txt\")\n",
    "    \n",
    "    with open(txt_path, 'w') as f:\n",
    "        for obj in root.iter('object'):\n",
    "            # Get class name\n",
    "            cls_name = obj.find('name').text\n",
    "            if cls_name not in class_names:\n",
    "                continue  # skip classes not in our list\n",
    "            cls_id = class_names.index(cls_name)\n",
    "            \n",
    "            # Get bounding box coordinates\n",
    "            bndbox = obj.find('bndbox')\n",
    "            xmin = int(bndbox.find('xmin').text)\n",
    "            ymin = int(bndbox.find('ymin').text)\n",
    "            xmax = int(bndbox.find('xmax').text)\n",
    "            ymax = int(bndbox.find('ymax').text)\n",
    "            \n",
    "            # Convert to YOLO format (center x, center y, width, height) - normalized\n",
    "            x_center = ((xmin + xmax) / 2) / img_width\n",
    "            y_center = ((ymin + ymax) / 2) / img_height\n",
    "            width = (xmax - xmin) / img_width\n",
    "            height = (ymax - ymin) / img_height\n",
    "            \n",
    "            # Write to file\n",
    "            f.write(f\"{cls_id} {x_center:.6f} {y_center:.6f} {width:.6f} {height:.6f}\\n\")\n",
    "\n",
    "def main():\n",
    "    # Configuration\n",
    "    img_dir = \"train\"\n",
    "    xml_dir = \"train_label\"  # Directory containing XML files\n",
    "    img_dir = \"train\"\n",
    "    output_dir = \"train_yolo/train/labels\"  # Directory to save YOLO format labels\n",
    "    img_output_dir = \"train_yolo/train/images\"  # Directory to save YOLO format labels\n",
    "    class_names = [\"car\", \"truck\", \"bike\", \"human\"]  # List your class names here, e.g., [\"person\", \"car\", \"dog\"]\n",
    "    \n",
    "    # Create output directory if it doesn't exist\n",
    "    os.makedirs(output_dir, exist_ok=True)\n",
    "    os.makedirs(img_output_dir, exist_ok=True)\n",
    "\n",
    "    # Get all XML files\n",
    "    xml_files = glob(os.path.join(xml_dir, \"*.xml\"))\n",
    "    \n",
    "    img_files = glob(os.path.join(img_dir, \"*.jpg\"))\n",
    "    for path in img_files:\n",
    "        shutil.copy(path, img_output_dir)\n",
    "    \n",
    "    # If class_names is empty, collect all unique class names from XML files\n",
    "    if not class_names:\n",
    "        unique_classes = set()\n",
    "        for xml_file in xml_files:\n",
    "            tree = ET.parse(xml_file)\n",
    "            root = tree.getroot()\n",
    "            for obj in root.iter('object'):\n",
    "                cls_name = obj.find('name').text\n",
    "                unique_classes.add(cls_name)\n",
    "        class_names = sorted(list(unique_classes))\n",
    "        print(f\"Found classes: {class_names}\")\n",
    "    \n",
    "    # Process each XML file\n",
    "    for xml_file in xml_files:\n",
    "        convert_voc_to_yolo(xml_file, output_dir, class_names)\n",
    "    \n",
    "    print(f\"Conversion complete. YOLO format labels saved to {output_dir}\")\n",
    "    \n",
    "main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "523c892b-779d-4433-ac8e-c3baceacc291",
   "metadata": {},
   "outputs": [],
   "source": [
    "os.makedirs('train_yolo/val', exist_ok=True)\n",
    "os.makedirs('train_yolo/val/labels', exist_ok=True)\n",
    "os.makedirs('train_yolo/val/images', exist_ok=True)\n",
    "\n",
    "labels = glob('train_yolo/train/labels/*')\n",
    "images = glob('train_yolo/train/images/*')\n",
    "\n",
    "labels.sort(); images.sort()\n",
    "\n",
    "for x, y in zip(labels[-50:], images[-50:]):\n",
    "    shutil.move(x, 'train_yolo/val/labels/')\n",
    "    shutil.move(y, 'train_yolo/val/images/')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "1e87748b-fcfc-4a1d-badb-89a1bf7f732c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "dir_path = os.path.abspath('./') + '/'\n",
    "\n",
    "# 需要按照你的修改path\n",
    "with open('yolo.yaml', 'w', encoding='utf-8') as up:\n",
    "    up.write(f'''\n",
    "path: {dir_path}/\n",
    "train: train_yolo/train/\n",
    "val: train_yolo/val/\n",
    "\n",
    "names:\n",
    "    0: car\n",
    "    1: truck\n",
    "    2: bike\n",
    "    3: human\n",
    "''')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "41bca67b-9e05-4ed6-a42c-41e1717dcc8e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "New https://pypi.org/project/ultralytics/8.3.165 available 😃 Update with 'pip install -U ultralytics'\n",
      "Ultralytics YOLOv8.2.81 🚀 Python-3.11.8 torch-2.4.0+cu121 CUDA:1 (NVIDIA GeForce GTX 1080 Ti, 11163MiB)\n",
      "\u001b[34m\u001b[1mengine/trainer: \u001b[0mtask=detect, mode=train, model=yolov8m.pt, data=./yolo.yaml, epochs=20, time=None, patience=100, batch=4, imgsz=1280, save=True, save_period=-1, cache=False, device=1, workers=8, project=None, name=train4, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=runs/detect/train4\n",
      "Overriding model.yaml nc=80 with nc=4\n",
      "\n",
      "                   from  n    params  module                                       arguments                     \n",
      "  0                  -1  1      1392  ultralytics.nn.modules.conv.Conv             [3, 48, 3, 2]                 \n",
      "  1                  -1  1     41664  ultralytics.nn.modules.conv.Conv             [48, 96, 3, 2]                \n",
      "  2                  -1  2    111360  ultralytics.nn.modules.block.C2f             [96, 96, 2, True]             \n",
      "  3                  -1  1    166272  ultralytics.nn.modules.conv.Conv             [96, 192, 3, 2]               \n",
      "  4                  -1  4    813312  ultralytics.nn.modules.block.C2f             [192, 192, 4, True]           \n",
      "  5                  -1  1    664320  ultralytics.nn.modules.conv.Conv             [192, 384, 3, 2]              \n",
      "  6                  -1  4   3248640  ultralytics.nn.modules.block.C2f             [384, 384, 4, True]           \n",
      "  7                  -1  1   1991808  ultralytics.nn.modules.conv.Conv             [384, 576, 3, 2]              \n",
      "  8                  -1  2   3985920  ultralytics.nn.modules.block.C2f             [576, 576, 2, True]           \n",
      "  9                  -1  1    831168  ultralytics.nn.modules.block.SPPF            [576, 576, 5]                 \n",
      " 10                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          \n",
      " 11             [-1, 6]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           \n",
      " 12                  -1  2   1993728  ultralytics.nn.modules.block.C2f             [960, 384, 2]                 \n",
      " 13                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          \n",
      " 14             [-1, 4]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           \n",
      " 15                  -1  2    517632  ultralytics.nn.modules.block.C2f             [576, 192, 2]                 \n",
      " 16                  -1  1    332160  ultralytics.nn.modules.conv.Conv             [192, 192, 3, 2]              \n",
      " 17            [-1, 12]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           \n",
      " 18                  -1  2   1846272  ultralytics.nn.modules.block.C2f             [576, 384, 2]                 \n",
      " 19                  -1  1   1327872  ultralytics.nn.modules.conv.Conv             [384, 384, 3, 2]              \n",
      " 20             [-1, 9]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           \n",
      " 21                  -1  2   4207104  ultralytics.nn.modules.block.C2f             [960, 576, 2]                 \n",
      " 22        [15, 18, 21]  1   3778012  ultralytics.nn.modules.head.Detect           [4, [192, 384, 576]]          \n",
      "Model summary: 295 layers, 25,858,636 parameters, 25,858,620 gradients, 79.1 GFLOPs\n",
      "\n",
      "Transferred 469/475 items from pretrained weights\n",
      "\u001b[34m\u001b[1mTensorBoard: \u001b[0mStart with 'tensorboard --logdir runs/detect/train4', view at http://localhost:6006/\n",
      "Freezing layer 'model.22.dfl.conv.weight'\n",
      "\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks with YOLOv8n...\n",
      "\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/train_yolo/train/labels.cache... 350 images, 0 backgrounds, 0 corrupt: 100%|██████████| 350/350 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[34m\u001b[1mval: \u001b[0mScanning /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/train_yolo/val/labels.cache... 50 images, 0 backgrounds, 0 corrupt: 100%|██████████| 50/50 [00:00<?, ?it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Plotting labels to runs/detect/train4/labels.jpg... \n",
      "\u001b[34m\u001b[1moptimizer:\u001b[0m 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically... \n",
      "\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.00125, momentum=0.9) with parameter groups 77 weight(decay=0.0), 84 weight(decay=0.0005), 83 bias(decay=0.0)\n",
      "\u001b[34m\u001b[1mTensorBoard: \u001b[0mmodel graph visualization added ✅\n",
      "Image sizes 1280 train, 1280 val\n",
      "Using 8 dataloader workers\n",
      "Logging results to \u001b[1mruns/detect/train4\u001b[0m\n",
      "Starting training for 20 epochs...\n",
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       1/20       9.6G       1.89      2.132      1.505         47       1280: 100%|██████████| 88/88 [01:04<00:00,  1.36it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.61it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.262      0.532      0.332      0.134\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       2/20      9.63G      1.924       1.63      1.544         31       1280: 100%|██████████| 88/88 [01:05<00:00,  1.35it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.67it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.275       0.33      0.252      0.107\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       3/20      9.62G      1.884      1.624       1.56         40       1280: 100%|██████████| 88/88 [01:06<00:00,  1.31it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.57it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.397      0.268      0.259      0.125\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       4/20      9.63G      1.889      1.737      1.548         31       1280: 100%|██████████| 88/88 [01:08<00:00,  1.29it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.47it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.355      0.311       0.29      0.142\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       5/20      9.62G      1.858      1.398      1.515         38       1280: 100%|██████████| 88/88 [01:08<00:00,  1.29it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.57it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.917      0.224      0.323      0.152\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       6/20      9.62G      1.838      1.295      1.519         12       1280: 100%|██████████| 88/88 [01:08<00:00,  1.29it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.60it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.363      0.214      0.272      0.122\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       7/20      9.61G      1.825      1.226      1.463         26       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.59it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.311      0.436      0.325      0.134\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       8/20      9.62G      1.809      1.221      1.511          4       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:03<00:00,  2.11it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.716      0.314       0.37      0.155\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "       9/20      9.63G      1.786       1.15      1.481         44       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.40it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.422      0.481      0.373      0.161\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      10/20      9.63G      1.765      1.118      1.453         33       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.40it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272       0.61      0.452        0.5      0.173\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Closing dataloader mosaic\n",
      "\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))\n",
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      11/20      9.53G      1.802      1.129      1.483         13       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.40it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.392       0.46       0.37      0.136\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      12/20      9.62G      1.764      1.099      1.451         10       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.47it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.629      0.377      0.433       0.18\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      13/20      9.61G      1.735      1.049      1.429          7       1280: 100%|██████████| 88/88 [01:08<00:00,  1.28it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.19it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.526      0.373      0.407      0.166\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      14/20      9.57G      1.714      1.007      1.433         15       1280: 100%|██████████| 88/88 [01:09<00:00,  1.27it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.09it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.704      0.358      0.469      0.202\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      15/20      9.54G      1.698     0.9812      1.414         14       1280: 100%|██████████| 88/88 [01:09<00:00,  1.26it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.39it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.461       0.35      0.405       0.19\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      16/20      9.53G       1.66     0.9156        1.4          9       1280: 100%|██████████| 88/88 [01:09<00:00,  1.26it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.40it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.582      0.427      0.428      0.188\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      17/20       9.6G      1.625     0.9066      1.377         11       1280: 100%|██████████| 88/88 [01:10<00:00,  1.25it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.43it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.497      0.398      0.406      0.185\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      18/20      9.54G      1.596     0.8761      1.367         12       1280: 100%|██████████| 88/88 [01:10<00:00,  1.25it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.43it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.544      0.373      0.387      0.183\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      19/20      9.56G      1.582     0.8694       1.36         15       1280: 100%|██████████| 88/88 [01:10<00:00,  1.26it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.39it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.601      0.445      0.463      0.191\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "      20/20      9.54G      1.564     0.8463      1.343         26       1280: 100%|██████████| 88/88 [01:10<00:00,  1.25it/s]\n",
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.28it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.525      0.411      0.413      0.181\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "20 epochs completed in 0.406 hours.\n",
      "Optimizer stripped from runs/detect/train4/weights/last.pt, 52.1MB\n",
      "Optimizer stripped from runs/detect/train4/weights/best.pt, 52.1MB\n",
      "\n",
      "Validating runs/detect/train4/weights/best.pt...\n",
      "Ultralytics YOLOv8.2.81 🚀 Python-3.11.8 torch-2.4.0+cu121 CUDA:1 (NVIDIA GeForce GTX 1080 Ti, 11163MiB)\n",
      "Model summary (fused): 218 layers, 25,842,076 parameters, 0 gradients, 78.7 GFLOPs\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 7/7 [00:01<00:00,  4.14it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   all         50        272      0.704      0.358      0.468      0.202\n",
      "                   car         50        214      0.875      0.537      0.678       0.34\n",
      "                 truck          9         10      0.643        0.4      0.431      0.197\n",
      "                  bike         22         44          1      0.246      0.469      0.176\n",
      "                 human          4          4      0.297       0.25      0.295     0.0944\n",
      "Speed: 0.4ms preprocess, 29.2ms inference, 0.0ms loss, 1.3ms postprocess per image\n",
      "Results saved to \u001b[1mruns/detect/train4\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"1\"\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "\n",
    "from ultralytics import YOLO\n",
    "model = YOLO(\"yolov8m.pt\")\n",
    "results = model.train(data=\"./yolo.yaml\", epochs=20, device=1, batch=4, imgsz=1280)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e9dde939-3941-4438-a795-54f7ebd38fbe",
   "metadata": {},
   "outputs": [],
   "source": [
    "model = YOLO(\"runs/detect/train4/weights/best.pt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "60a91e70-9491-4b02-9c64-859535027584",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442501812.jpg: 704x1280 7 cars, 24.9ms\n",
      "Speed: 21.2ms preprocess, 24.9ms inference, 2.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535188128.jpg: 704x1280 9 cars, 24.9ms\n",
      "Speed: 7.5ms preprocess, 24.9ms inference, 1.3ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535166200.jpg: 704x1280 1 car, 25.0ms\n",
      "Speed: 6.1ms preprocess, 25.0ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706253499.jpg: 704x1280 4 cars, 22.5ms\n",
      "Speed: 5.2ms preprocess, 22.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344839899.jpg: 704x1280 12 cars, 2 bikes, 2 humans, 22.5ms\n",
      "Speed: 5.0ms preprocess, 22.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535070700.jpg: 704x1280 22 cars, 8 bikes, 22.6ms\n",
      "Speed: 5.0ms preprocess, 22.6ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535176114.jpg: 704x1280 1 car, 22.5ms\n",
      "Speed: 5.0ms preprocess, 22.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344127706.jpg: 704x1280 12 cars, 2 bikes, 21.1ms\n",
      "Speed: 5.0ms preprocess, 21.1ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618702707399.jpg: 704x1280 5 cars, 1 human, 21.1ms\n",
      "Speed: 5.0ms preprocess, 21.1ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535188129.jpg: 704x1280 7 cars, 1 truck, 21.1ms\n",
      "Speed: 5.1ms preprocess, 21.1ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534778717.jpg: 704x1280 2 cars, 1 truck, 2 bikes, 2 humans, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716795300.jpg: 704x1280 8 cars, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451208300.jpg: 704x1280 11 cars, 1 truck, 1 human, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706059500.jpg: 704x1280 6 cars, 21.8ms\n",
      "Speed: 5.1ms preprocess, 21.8ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535121723.jpg: 704x1280 23 cars, 2 bikes, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535186124.jpg: 704x1280 6 cars, 21.7ms\n",
      "Speed: 5.0ms preprocess, 21.7ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616348800301.jpg: 704x1280 13 cars, 1 bike, 21.7ms\n",
      "Speed: 5.0ms preprocess, 21.7ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535031700.jpg: 704x1280 10 cars, 3 bikes, 21.7ms\n",
      "Speed: 5.0ms preprocess, 21.7ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534833700.jpg: 704x1280 2 cars, 4 bikes, 7 humans, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344297708.jpg: 704x1280 6 cars, 7 bikes, 21.5ms\n",
      "Speed: 5.0ms preprocess, 21.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616175562799.jpg: 704x1280 8 cars, 1 truck, 21.5ms\n",
      "Speed: 5.0ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451260800.jpg: 704x1280 11 cars, 1 truck, 1 bike, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442812300.jpg: 704x1280 4 cars, 3 bikes, 21.0ms\n",
      "Speed: 5.0ms preprocess, 21.0ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534833718.jpg: 704x1280 2 cars, 4 bikes, 7 humans, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343529700.jpg: 704x1280 9 cars, 4 bikes, 1 human, 21.5ms\n",
      "Speed: 5.0ms preprocess, 21.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534778700.jpg: 704x1280 2 cars, 1 truck, 2 bikes, 3 humans, 21.1ms\n",
      "Speed: 5.1ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344688399.jpg: 704x1280 6 cars, 1 bike, 20.9ms\n",
      "Speed: 5.1ms preprocess, 20.9ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618717172799.jpg: 704x1280 6 cars, 2 bikes, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535008699.jpg: 704x1280 7 cars, 3 trucks, 3 bikes, 2 humans, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451250299.jpg: 704x1280 11 cars, 1 truck, 6 bikes, 21.0ms\n",
      "Speed: 5.1ms preprocess, 21.0ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534975200.jpg: 704x1280 3 cars, 1 bike, 4 humans, 21.0ms\n",
      "Speed: 5.0ms preprocess, 21.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535234199.jpg: 704x1280 4 cars, 5 bikes, 2 humans, 21.7ms\n",
      "Speed: 5.0ms preprocess, 21.7ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716197599.jpg: 704x1280 4 cars, 2 trucks, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442919800.jpg: 704x1280 18 cars, 1 truck, 20.9ms\n",
      "Speed: 5.0ms preprocess, 20.9ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451641300.jpg: 704x1280 5 cars, 1 truck, 5 bikes, 21.0ms\n",
      "Speed: 5.0ms preprocess, 21.0ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535130699.jpg: 704x1280 14 cars, 3 bikes, 21.7ms\n",
      "Speed: 5.0ms preprocess, 21.7ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535186125.jpg: 704x1280 8 cars, 1 truck, 21.5ms\n",
      "Speed: 5.0ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535211724.jpg: 704x1280 (no detections), 20.9ms\n",
      "Speed: 5.0ms preprocess, 20.9ms inference, 0.5ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442779800.jpg: 704x1280 4 cars, 1 bike, 1 human, 20.8ms\n",
      "Speed: 5.0ms preprocess, 20.8ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534795199.jpg: 704x1280 2 cars, 21.0ms\n",
      "Speed: 5.0ms preprocess, 21.0ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451467299.jpg: 704x1280 6 cars, 14 bikes, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616348509810.jpg: 704x1280 4 cars, 1 truck, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343826699.jpg: 704x1280 5 cars, 1 truck, 22 bikes, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619040534900.jpg: 704x1280 4 cars, 1 truck, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535103700.jpg: 704x1280 15 cars, 9 bikes, 21.3ms\n",
      "Speed: 5.0ms preprocess, 21.3ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534964199.jpg: 704x1280 7 cars, 7 humans, 21.3ms\n",
      "Speed: 5.0ms preprocess, 21.3ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616348701799.jpg: 704x1280 2 cars, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535179119.jpg: 704x1280 5 cars, 1 truck, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343566700.jpg: 704x1280 8 cars, 1 bike, 1 human, 21.3ms\n",
      "Speed: 5.5ms preprocess, 21.3ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343706700.jpg: 704x1280 10 cars, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343657703.jpg: 704x1280 8 cars, 3 bikes, 1 human, 21.3ms\n",
      "Speed: 5.0ms preprocess, 21.3ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535144200.jpg: 704x1280 11 cars, 1 truck, 7 bikes, 2 humans, 21.9ms\n",
      "Speed: 5.2ms preprocess, 21.9ms inference, 1.3ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451393299.jpg: 704x1280 3 cars, 1 truck, 1 bike, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535187127.jpg: 704x1280 8 cars, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343979700.jpg: 704x1280 9 cars, 1 bike, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451326800.jpg: 704x1280 6 cars, 21.3ms\n",
      "Speed: 4.9ms preprocess, 21.3ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616175997801.jpg: 704x1280 5 cars, 21.4ms\n",
      "Speed: 4.9ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619041267900.jpg: 704x1280 4 cars, 2 humans, 21.7ms\n",
      "Speed: 4.9ms preprocess, 21.7ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716175100.jpg: 704x1280 5 cars, 21.7ms\n",
      "Speed: 5.4ms preprocess, 21.7ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716164100.jpg: 704x1280 6 cars, 21.3ms\n",
      "Speed: 5.6ms preprocess, 21.3ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442672800.jpg: 704x1280 11 cars, 2 bikes, 1 human, 21.3ms\n",
      "Speed: 4.9ms preprocess, 21.3ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618714245600.jpg: 704x1280 6 cars, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616348509800.jpg: 704x1280 4 cars, 1 truck, 21.3ms\n",
      "Speed: 5.5ms preprocess, 21.3ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534851699.jpg: 704x1280 1 car, 3 bikes, 11 humans, 21.4ms\n",
      "Speed: 4.8ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535018200.jpg: 704x1280 (no detections), 21.8ms\n",
      "Speed: 4.8ms preprocess, 21.8ms inference, 0.4ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618717442800.jpg: 704x1280 5 cars, 4 bikes, 21.8ms\n",
      "Speed: 5.5ms preprocess, 21.8ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343979705.jpg: 704x1280 9 cars, 2 bikes, 21.1ms\n",
      "Speed: 4.9ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344328198.jpg: 704x1280 3 cars, 1 bike, 21.1ms\n",
      "Speed: 4.9ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535177116.jpg: 704x1280 1 car, 21.6ms\n",
      "Speed: 4.9ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618714251100.jpg: 704x1280 4 cars, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343657700.jpg: 704x1280 8 cars, 3 bikes, 1 human, 21.1ms\n",
      "Speed: 4.9ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442919816.jpg: 704x1280 17 cars, 1 truck, 21.0ms\n",
      "Speed: 4.9ms preprocess, 21.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343617200.jpg: 704x1280 5 cars, 1 bike, 21.2ms\n",
      "Speed: 4.9ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535184121.jpg: 704x1280 6 cars, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451113799.jpg: 704x1280 9 cars, 2 trucks, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534774200.jpg: 704x1280 3 cars, 1 bike, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534980699.jpg: 704x1280 3 cars, 5 bikes, 1 human, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442938799.jpg: 704x1280 12 cars, 5 trucks, 7 bikes, 6 humans, 21.6ms\n",
      "Speed: 4.9ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343600700.jpg: 704x1280 12 cars, 1 bike, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344022699.jpg: 704x1280 7 cars, 5 bikes, 21.6ms\n",
      "Speed: 4.9ms preprocess, 21.6ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344384709.jpg: 704x1280 11 cars, 2 bikes, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716859799.jpg: 704x1280 1 car, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716179599.jpg: 704x1280 4 cars, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618717500300.jpg: 704x1280 3 cars, 1 bike, 21.9ms\n",
      "Speed: 5.0ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535081700.jpg: 704x1280 19 cars, 4 bikes, 1 human, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716818800.jpg: 704x1280 1 car, 20.8ms\n",
      "Speed: 4.9ms preprocess, 20.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618703141899.jpg: 704x1280 4 trucks, 20.9ms\n",
      "Speed: 4.9ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616349559800.jpg: 704x1280 3 cars, 3 trucks, 21.6ms\n",
      "Speed: 4.9ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619039251699.jpg: 704x1280 17 cars, 1 truck, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535179120.jpg: 704x1280 4 cars, 21.2ms\n",
      "Speed: 4.9ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344181700.jpg: 704x1280 11 cars, 7 bikes, 2 humans, 21.2ms\n",
      "Speed: 4.9ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535177115.jpg: 704x1280 1 car, 21.2ms\n",
      "Speed: 5.0ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535103722.jpg: 704x1280 16 cars, 9 bikes, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616349558298.jpg: 704x1280 4 cars, 3 trucks, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619040545927.jpg: 704x1280 6 cars, 21.8ms\n",
      "Speed: 5.0ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442870300.jpg: 704x1280 9 cars, 3 bikes, 5 humans, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716202100.jpg: 704x1280 (no detections), 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 0.5ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618717039799.jpg: 704x1280 2 cars, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1620010305201.jpg: 704x1280 4 cars, 1 truck, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535175112.jpg: 704x1280 1 car, 22.0ms\n",
      "Speed: 7.6ms preprocess, 22.0ms inference, 1.6ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535178118.jpg: 704x1280 4 cars, 20.9ms\n",
      "Speed: 5.0ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619040534926.jpg: 704x1280 4 cars, 1 truck, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616175997800.jpg: 704x1280 5 cars, 21.4ms\n",
      "Speed: 4.9ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344265200.jpg: 704x1280 14 cars, 5 bikes, 1 human, 21.1ms\n",
      "Speed: 4.9ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534966699.jpg: 704x1280 9 cars, 2 bikes, 4 humans, 20.9ms\n",
      "Speed: 4.9ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616348640299.jpg: 704x1280 5 cars, 1 human, 22.0ms\n",
      "Speed: 4.8ms preprocess, 22.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343989700.jpg: 704x1280 5 cars, 1 bike, 22.0ms\n",
      "Speed: 4.9ms preprocess, 22.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619040494400.jpg: 704x1280 2 cars, 1 human, 20.9ms\n",
      "Speed: 4.9ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618714256600.jpg: 704x1280 3 cars, 20.9ms\n",
      "Speed: 4.8ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534907199.jpg: 704x1280 7 cars, 1 truck, 1 human, 22.1ms\n",
      "Speed: 4.8ms preprocess, 22.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343566702.jpg: 704x1280 8 cars, 2 bikes, 1 human, 22.0ms\n",
      "Speed: 4.9ms preprocess, 22.0ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535182699.jpg: 704x1280 3 cars, 20.8ms\n",
      "Speed: 4.8ms preprocess, 20.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535187126.jpg: 704x1280 9 cars, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534976199.jpg: 704x1280 3 cars, 4 bikes, 4 humans, 21.6ms\n",
      "Speed: 5.4ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442672813.jpg: 704x1280 11 cars, 2 bikes, 1 human, 21.2ms\n",
      "Speed: 4.8ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535185122.jpg: 704x1280 8 cars, 20.9ms\n",
      "Speed: 4.8ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618714279100.jpg: 704x1280 1 car, 22.1ms\n",
      "Speed: 4.9ms preprocess, 22.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706207499.jpg: 704x1280 7 cars, 22.1ms\n",
      "Speed: 5.2ms preprocess, 22.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343614201.jpg: 704x1280 6 cars, 20.9ms\n",
      "Speed: 5.6ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451659299.jpg: 704x1280 3 cars, 1 truck, 2 bikes, 20.8ms\n",
      "Speed: 4.9ms preprocess, 20.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343706704.jpg: 704x1280 10 cars, 22.0ms\n",
      "Speed: 5.3ms preprocess, 22.0ms inference, 1.4ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535185123.jpg: 704x1280 8 cars, 21.9ms\n",
      "Speed: 4.8ms preprocess, 21.9ms inference, 1.3ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535010700.jpg: 704x1280 8 cars, 2 trucks, 2 bikes, 1 human, 20.8ms\n",
      "Speed: 4.8ms preprocess, 20.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535014700.jpg: 704x1280 5 cars, 1 truck, 21.8ms\n",
      "Speed: 4.8ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535175111.jpg: 704x1280 1 car, 21.8ms\n",
      "Speed: 5.4ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706230999.jpg: 704x1280 1 car, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451105800.jpg: 704x1280 13 cars, 3 trucks, 3 bikes, 20.9ms\n",
      "Speed: 4.9ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344384700.jpg: 704x1280 11 cars, 2 bikes, 21.3ms\n",
      "Speed: 4.9ms preprocess, 21.3ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534932699.jpg: 704x1280 5 cars, 1 bike, 2 humans, 21.7ms\n",
      "Speed: 5.6ms preprocess, 21.7ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535081721.jpg: 704x1280 19 cars, 4 bikes, 1 human, 20.9ms\n",
      "Speed: 6.2ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618716184100.jpg: 704x1280 7 cars, 20.8ms\n",
      "Speed: 4.9ms preprocess, 20.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706236500.jpg: 704x1280 2 cars, 22.0ms\n",
      "Speed: 4.9ms preprocess, 22.0ms inference, 0.9ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344181707.jpg: 704x1280 11 cars, 7 bikes, 1 human, 22.0ms\n",
      "Speed: 5.4ms preprocess, 22.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619039154700.jpg: 704x1280 2 cars, 1 bike, 1 human, 20.9ms\n",
      "Speed: 4.9ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442762800.jpg: 704x1280 8 cars, 21.6ms\n",
      "Speed: 4.8ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534865200.jpg: 704x1280 2 cars, 4 bikes, 12 humans, 21.6ms\n",
      "Speed: 5.3ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442501800.jpg: 704x1280 7 cars, 21.1ms\n",
      "Speed: 4.8ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616349106300.jpg: 704x1280 9 cars, 1 truck, 2 bikes, 21.2ms\n",
      "Speed: 4.8ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451588300.jpg: 704x1280 7 cars, 1 bike, 21.6ms\n",
      "Speed: 5.4ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619039154725.jpg: 704x1280 2 cars, 1 bike, 1 human, 21.6ms\n",
      "Speed: 4.8ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618797074100.jpg: 704x1280 2 cars, 20.8ms\n",
      "Speed: 4.9ms preprocess, 20.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619291147799.jpg: 704x1280 13 cars, 1 truck, 14 bikes, 1 human, 21.9ms\n",
      "Speed: 5.3ms preprocess, 21.9ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619039913699.jpg: 704x1280 7 cars, 21.9ms\n",
      "Speed: 4.9ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451679799.jpg: 704x1280 3 cars, 1 truck, 3 bikes, 21.9ms\n",
      "Speed: 4.8ms preprocess, 21.9ms inference, 1.5ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618714234601.jpg: 704x1280 4 cars, 1 truck, 21.9ms\n",
      "Speed: 5.5ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344202699.jpg: 704x1280 11 cars, 8 bikes, 1 human, 21.9ms\n",
      "Speed: 4.8ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535070720.jpg: 704x1280 22 cars, 7 bikes, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344127700.jpg: 704x1280 12 cars, 2 bikes, 21.6ms\n",
      "Speed: 6.9ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442779815.jpg: 704x1280 6 cars, 1 bike, 1 human, 21.6ms\n",
      "Speed: 4.9ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451500799.jpg: 704x1280 13 cars, 9 bikes, 9 humans, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535211700.jpg: 704x1280 (no detections), 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 0.7ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616343943200.jpg: 704x1280 7 cars, 20.9ms\n",
      "Speed: 4.9ms preprocess, 20.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706218999.jpg: 704x1280 3 cars, 1 truck, 21.0ms\n",
      "Speed: 4.9ms preprocess, 21.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618797283299.jpg: 704x1280 1 car, 2 humans, 22.0ms\n",
      "Speed: 4.9ms preprocess, 22.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618714273599.jpg: 704x1280 1 car, 21.9ms\n",
      "Speed: 5.3ms preprocess, 21.9ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451630300.jpg: 704x1280 5 cars, 4 trucks, 21.2ms\n",
      "Speed: 5.1ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451184300.jpg: 704x1280 21 cars, 1 truck, 2 bikes, 21.2ms\n",
      "Speed: 4.9ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344297700.jpg: 704x1280 5 cars, 6 bikes, 21.5ms\n",
      "Speed: 4.9ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451656800.jpg: 704x1280 3 cars, 1 truck, 2 bikes, 21.5ms\n",
      "Speed: 5.4ms preprocess, 21.5ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451281299.jpg: 704x1280 6 cars, 21.6ms\n",
      "Speed: 4.8ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619291134300.jpg: 704x1280 9 cars, 1 truck, 4 bikes, 21.4ms\n",
      "Speed: 4.9ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619039412700.jpg: 704x1280 1 car, 21.6ms\n",
      "Speed: 5.6ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618702725399.jpg: 704x1280 14 cars, 21.0ms\n",
      "Speed: 4.9ms preprocess, 21.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619041231400.jpg: 704x1280 7 cars, 21.0ms\n",
      "Speed: 4.8ms preprocess, 21.0ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535054200.jpg: 704x1280 15 cars, 6 bikes, 1 human, 21.8ms\n",
      "Speed: 4.9ms preprocess, 21.8ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451279301.jpg: 704x1280 3 cars, 1 truck, 21.6ms\n",
      "Speed: 5.1ms preprocess, 21.6ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535031719.jpg: 704x1280 7 cars, 3 bikes, 21.1ms\n",
      "Speed: 5.0ms preprocess, 21.1ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535176113.jpg: 704x1280 1 car, 21.5ms\n",
      "Speed: 5.4ms preprocess, 21.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344721900.jpg: 704x1280 8 cars, 7 bikes, 3 humans, 21.5ms\n",
      "Speed: 5.0ms preprocess, 21.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1618706202000.jpg: 704x1280 3 cars, 21.6ms\n",
      "Speed: 5.0ms preprocess, 21.6ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616344518200.jpg: 704x1280 4 cars, 2 bikes, 21.7ms\n",
      "Speed: 5.5ms preprocess, 21.7ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616534879699.jpg: 704x1280 3 cars, 1 human, 21.6ms\n",
      "Speed: 5.0ms preprocess, 21.6ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616349559811.jpg: 704x1280 3 cars, 3 trucks, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535121700.jpg: 704x1280 24 cars, 2 bikes, 21.4ms\n",
      "Speed: 4.9ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616535178117.jpg: 704x1280 4 cars, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616175838300.jpg: 704x1280 7 cars, 1 bike, 21.4ms\n",
      "Speed: 5.0ms preprocess, 21.4ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619040545900.jpg: 704x1280 5 cars, 21.1ms\n",
      "Speed: 5.0ms preprocess, 21.1ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619041267928.jpg: 704x1280 4 cars, 1 human, 21.2ms\n",
      "Speed: 5.0ms preprocess, 21.2ms inference, 1.0ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1619039023199.jpg: 704x1280 7 cars, 1 bike, 22.0ms\n",
      "Speed: 5.0ms preprocess, 22.0ms inference, 1.7ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442816300.jpg: 704x1280 7 cars, 3 bikes, 22.0ms\n",
      "Speed: 5.7ms preprocess, 22.0ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616442762814.jpg: 704x1280 8 cars, 21.5ms\n",
      "Speed: 5.2ms preprocess, 21.5ms inference, 1.2ms postprocess per image at shape (1, 3, 704, 1280)\n",
      "\n",
      "image 1/1 /home/lyz/Work/Kaggle/科大讯飞2025/车载摄像机图像的目标检测挑战赛 赛季2/test/1616451350299.jpg: 704x1280 12 cars, 3 bikes, 1 human, 21.5ms\n",
      "Speed: 5.2ms preprocess, 21.5ms inference, 1.1ms postprocess per image at shape (1, 3, 704, 1280)\n"
     ]
    }
   ],
   "source": [
    "from glob import glob\n",
    "import os\n",
    "\n",
    "os.makedirs('submit', exist_ok=True)\n",
    "test_paths = glob('test/*')\n",
    "\n",
    "class_names = [\"car\", \"truck\", \"bike\", \"human\"]\n",
    "\n",
    "for path in test_paths:\n",
    "    predictions = model(path, save_txt=None)  # yolo model\n",
    "    \n",
    "    # Get the base filename without extension\n",
    "    base_name = os.path.splitext(os.path.basename(path))[0]\n",
    "    txt_path = os.path.join('submit', f\"{base_name}.txt\")\n",
    "    \n",
    "    with open(txt_path, 'w') as f:\n",
    "        for idx in range(len(predictions[0].boxes.cls)):\n",
    "            # Get class name\n",
    "            cls_id = int(predictions[0].boxes.cls[idx].item())\n",
    "            class_name = class_names[cls_id]\n",
    "            \n",
    "            # Get confidence\n",
    "            confidence = predictions[0].boxes.conf[idx].item()\n",
    "            \n",
    "            # Get unnormalized bounding box coordinates (xyxy format)\n",
    "            x1, y1, x2, y2 = predictions[0].boxes.xyxy[idx].tolist()\n",
    "            \n",
    "            # Write to file in specified format\n",
    "            line = f\"{class_name} {confidence:.6f} {int(x1)} {int(y1)} {int(x2)} {int(y2)}\\n\"\n",
    "            f.write(line)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "357e9662-7141-478f-afe3-d5f65511867c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  adding: submit/ (stored 0%)\n",
      "  adding: submit/1616534851699.txt (deflated 53%)\n",
      "  adding: submit/1616535070700.txt (deflated 56%)\n",
      "  adding: submit/1616534907199.txt (deflated 43%)\n",
      "  adding: submit/1616442919800.txt (deflated 52%)\n",
      "  adding: submit/1616535175111.txt (stored 0%)\n",
      "  adding: submit/1616535103722.txt (deflated 55%)\n",
      "  adding: submit/1616349559800.txt (deflated 39%)\n",
      "  adding: submit/1616535144200.txt (deflated 52%)\n",
      "  adding: submit/1616451500799.txt (deflated 55%)\n",
      "  adding: submit/1616344127700.txt (deflated 51%)\n",
      "  adding: submit/1616344181700.txt (deflated 53%)\n",
      "  adding: submit/1616451393299.txt (deflated 31%)\n",
      "  adding: submit/1616535234199.txt (deflated 46%)\n",
      "  adding: submit/1616451659299.txt (deflated 36%)\n",
      "  adding: submit/1618714256600.txt (deflated 25%)\n",
      "  adding: submit/1616175997800.txt (deflated 39%)\n",
      "  adding: submit/1616343614201.txt (deflated 42%)\n",
      "  adding: submit/1616348509810.txt (deflated 34%)\n",
      "  adding: submit/1618702725399.txt (deflated 52%)\n",
      "  adding: submit/1616451250299.txt (deflated 51%)\n",
      "  adding: submit/1618716202100.txt (stored 0%)\n",
      "  adding: submit/1616451208300.txt (deflated 47%)\n",
      "  adding: submit/1619039412700.txt (stored 0%)\n",
      "  adding: submit/1616451260800.txt (deflated 49%)\n",
      "  adding: submit/1616344297700.txt (deflated 47%)\n",
      "  adding: submit/1616343979705.txt (deflated 48%)\n",
      "  adding: submit/1616348640299.txt (deflated 38%)\n",
      "  adding: submit/1616344721900.txt (deflated 52%)\n",
      "  adding: submit/1616535166200.txt (stored 0%)\n",
      "  adding: submit/1616535121723.txt (deflated 55%)\n",
      "  adding: submit/1616534976199.txt (deflated 47%)\n",
      "  adding: submit/1618717442800.txt (deflated 47%)\n",
      "  adding: submit/1619040534900.txt (deflated 36%)\n",
      "  adding: submit/1618716179599.txt (deflated 34%)\n",
      "  adding: submit/1616442672813.txt (deflated 49%)\n",
      "  adding: submit/1616535185123.txt (deflated 47%)\n",
      "  adding: submit/1616535031719.txt (deflated 47%)\n",
      "  adding: submit/1616348800301.txt (deflated 50%)\n",
      "  adding: submit/1619041267900.txt (deflated 37%)\n",
      "  adding: submit/1618706059500.txt (deflated 41%)\n",
      "  adding: submit/1618703141899.txt (deflated 35%)\n",
      "  adding: submit/1616451630300.txt (deflated 46%)\n",
      "  adding: submit/1616535081721.txt (deflated 55%)\n",
      "  adding: submit/1616451588300.txt (deflated 43%)\n",
      "  adding: submit/1618717172799.txt (deflated 43%)\n",
      "  adding: submit/1616535175112.txt (stored 0%)\n",
      "  adding: submit/1616535182699.txt (deflated 25%)\n",
      "  adding: submit/1619039913699.txt (deflated 44%)\n",
      "  adding: submit/1616343657700.txt (deflated 47%)\n",
      "  adding: submit/1618716184100.txt (deflated 46%)\n",
      "  adding: submit/1616534778700.txt (deflated 40%)\n",
      "  adding: submit/1616535188129.txt (deflated 44%)\n",
      "  adding: submit/1616535010700.txt (deflated 46%)\n",
      "  adding: submit/1618716197599.txt (deflated 39%)\n",
      "  adding: submit/1618714245600.txt (deflated 41%)\n",
      "  adding: submit/1616344127706.txt (deflated 49%)\n",
      "  adding: submit/1616343600700.txt (deflated 50%)\n",
      "  adding: submit/1618716795300.txt (deflated 47%)\n",
      "  adding: submit/1616534774200.txt (deflated 30%)\n",
      "  adding: submit/1616344688399.txt (deflated 40%)\n",
      "  adding: submit/1618717039799.txt (deflated 7%)\n",
      "  adding: submit/1618716164100.txt (deflated 42%)\n",
      "  adding: submit/1616535018200.txt (stored 0%)\n",
      "  adding: submit/1619040534926.txt (deflated 35%)\n",
      "  adding: submit/1618706202000.txt (deflated 25%)\n",
      "  adding: submit/1616534865200.txt (deflated 53%)\n",
      "  adding: submit/1616534966699.txt (deflated 49%)\n",
      "  adding: submit/1616349558298.txt (deflated 42%)\n",
      "  adding: submit/1616348509800.txt (deflated 35%)\n",
      "  adding: submit/1616343979700.txt (deflated 47%)\n",
      "  adding: submit/1616451326800.txt (deflated 41%)\n",
      "  adding: submit/1616349106300.txt (deflated 47%)\n",
      "  adding: submit/1616344265200.txt (deflated 52%)\n",
      "  adding: submit/1616442779815.txt (deflated 42%)\n",
      "  adding: submit/1618706218999.txt (deflated 33%)\n",
      "  adding: submit/1616535211724.txt (stored 0%)\n",
      "  adding: submit/1616535008699.txt (deflated 48%)\n",
      "  adding: submit/1618716818800.txt (stored 0%)\n",
      "  adding: submit/1616535211700.txt (stored 0%)\n",
      "  adding: submit/1616534975200.txt (deflated 42%)\n",
      "  adding: submit/1616535031700.txt (deflated 52%)\n",
      "  adding: submit/1616535187127.txt (deflated 48%)\n",
      "  adding: submit/1616535186125.txt (deflated 46%)\n",
      "  adding: submit/1616535176114.txt (stored 0%)\n",
      "  adding: submit/1618716175100.txt (deflated 38%)\n",
      "  adding: submit/1619041231400.txt (deflated 44%)\n",
      "  adding: submit/1616534833700.txt (deflated 48%)\n",
      "  adding: submit/1616535121700.txt (deflated 56%)\n",
      "  adding: submit/1618717500300.txt (deflated 28%)\n",
      "  adding: submit/1616451656800.txt (deflated 36%)\n",
      "  adding: submit/1616343566702.txt (deflated 45%)\n",
      "  adding: submit/1616534964199.txt (deflated 52%)\n",
      "  adding: submit/1618706230999.txt (deflated 10%)\n",
      "  adding: submit/1616175562799.txt (deflated 45%)\n",
      "  adding: submit/1619039154700.txt (deflated 24%)\n",
      "  adding: submit/1618797074100.txt (deflated 11%)\n",
      "  adding: submit/1616451467299.txt (deflated 55%)\n",
      "  adding: submit/1619040545900.txt (deflated 38%)\n",
      "  adding: submit/1619041267928.txt (deflated 32%)\n",
      "  adding: submit/1618706236500.txt (deflated 10%)\n",
      "  adding: submit/1616442672800.txt (deflated 49%)\n",
      "  adding: submit/1616535054200.txt (deflated 54%)\n",
      "  adding: submit/1618797283299.txt (deflated 22%)\n",
      "  adding: submit/1616442938799.txt (deflated 55%)\n",
      "  adding: submit/1619039023199.txt (deflated 44%)\n",
      "  adding: submit/1616344202699.txt (deflated 52%)\n",
      "  adding: submit/1616343943200.txt (deflated 46%)\n",
      "  adding: submit/1616535130699.txt (deflated 52%)\n",
      "  adding: submit/1616451279301.txt (deflated 29%)\n",
      "  adding: submit/1616442816300.txt (deflated 46%)\n",
      "  adding: submit/1616344384709.txt (deflated 49%)\n",
      "  adding: submit/1616535176113.txt (stored 0%)\n",
      "  adding: submit/1616535187126.txt (deflated 49%)\n",
      "  adding: submit/1616451105800.txt (deflated 52%)\n",
      "  adding: submit/1616535178117.txt (deflated 35%)\n",
      "  adding: submit/1618706207499.txt (deflated 44%)\n",
      "  adding: submit/1616343706704.txt (deflated 49%)\n",
      "  adding: submit/1616344518200.txt (deflated 39%)\n",
      "  adding: submit/1616534980699.txt (deflated 44%)\n",
      "  adding: submit/1616343989700.txt (deflated 39%)\n",
      "  adding: submit/1619039154725.txt (deflated 24%)\n",
      "  adding: submit/1618714234601.txt (deflated 36%)\n",
      "  adding: submit/1616535186124.txt (deflated 42%)\n",
      "  adding: submit/1619291134300.txt (deflated 49%)\n",
      "  adding: submit/1616535070720.txt (deflated 56%)\n",
      "  adding: submit/1616451281299.txt (deflated 42%)\n",
      "  adding: submit/1616535184121.txt (deflated 42%)\n",
      "  adding: submit/1616442501812.txt (deflated 47%)\n",
      "  adding: submit/1616344328198.txt (deflated 30%)\n",
      "  adding: submit/1616451184300.txt (deflated 53%)\n",
      "  adding: submit/1616535185122.txt (deflated 47%)\n",
      "  adding: submit/1616442762814.txt (deflated 46%)\n",
      "  adding: submit/1616343706700.txt (deflated 49%)\n",
      "  adding: submit/1619040494400.txt (deflated 18%)\n",
      "  adding: submit/1616344839899.txt (deflated 49%)\n",
      "  adding: submit/1616535188128.txt (deflated 47%)\n",
      "  adding: submit/1616344297708.txt (deflated 49%)\n",
      "  adding: submit/1616349559811.txt (deflated 40%)\n",
      "  adding: submit/1616534932699.txt (deflated 42%)\n",
      "  adding: submit/1616442812300.txt (deflated 41%)\n",
      "  adding: submit/1616451350299.txt (deflated 52%)\n",
      "  adding: submit/1616451679799.txt (deflated 39%)\n",
      "  adding: submit/1618714251100.txt (deflated 33%)\n",
      "  adding: submit/1616343617200.txt (deflated 39%)\n",
      "  adding: submit/1616451113799.txt (deflated 48%)\n",
      "  adding: submit/1618714273599.txt (stored 0%)\n",
      "  adding: submit/1616344181707.txt (deflated 51%)\n",
      "  adding: submit/1616343529700.txt (deflated 49%)\n",
      "  adding: submit/1616535179119.txt (deflated 41%)\n",
      "  adding: submit/1616535178118.txt (deflated 32%)\n",
      "  adding: submit/1616442762800.txt (deflated 46%)\n",
      "  adding: submit/1616343826699.txt (deflated 55%)\n",
      "  adding: submit/1616175838300.txt (deflated 45%)\n",
      "  adding: submit/1616344384700.txt (deflated 49%)\n",
      "  adding: submit/1616344022699.txt (deflated 49%)\n",
      "  adding: submit/1619039251699.txt (deflated 53%)\n",
      "  adding: submit/1616535014700.txt (deflated 38%)\n",
      "  adding: submit/1618716859799.txt (stored 0%)\n",
      "  adding: submit/1618702707399.txt (deflated 37%)\n",
      "  adding: submit/1616535179120.txt (deflated 33%)\n",
      "  adding: submit/1618706253499.txt (deflated 34%)\n",
      "  adding: submit/1616442501800.txt (deflated 48%)\n",
      "  adding: submit/1616348701799.txt (deflated 9%)\n",
      "  adding: submit/1616535103700.txt (deflated 55%)\n",
      "  adding: submit/1619040545927.txt (deflated 43%)\n",
      "  adding: submit/1616535177115.txt (stored 0%)\n",
      "  adding: submit/1619291147799.txt (deflated 53%)\n",
      "  adding: submit/1616535081700.txt (deflated 54%)\n",
      "  adding: submit/1616175997801.txt (deflated 39%)\n",
      "  adding: submit/1620010305201.txt (deflated 35%)\n",
      "  adding: submit/1616451641300.txt (deflated 47%)\n",
      "  adding: submit/1616442919816.txt (deflated 52%)\n",
      "  adding: submit/1618714279100.txt (stored 0%)\n",
      "  adding: submit/1616343566700.txt (deflated 44%)\n",
      "  adding: submit/1616534778717.txt (deflated 38%)\n",
      "  adding: submit/1616442870300.txt (deflated 50%)\n",
      "  adding: submit/1616442779800.txt (deflated 36%)\n",
      "  adding: submit/1616343657703.txt (deflated 47%)\n",
      "  adding: submit/1616535177116.txt (stored 0%)\n",
      "  adding: submit/1616534795199.txt (deflated 8%)\n",
      "  adding: submit/1616534833718.txt (deflated 49%)\n",
      "  adding: submit/1616534879699.txt (deflated 28%)\n"
     ]
    }
   ],
   "source": [
    "!zip -r submit.zip submit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0ca71770-83ca-4d4f-adfa-28ae7e0f64ba",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py3.11",
   "language": "python",
   "name": "py3.11"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
